VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "CPedido"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Private logica As LPedido
Private lCompania As lCompania
Private lEstado As lEstado
Private LUsuario As LUsuario
Private LEmpleado As LEmpleado
Private LProducto As LProducto
Private LPedido As LPedido
Private lFormaPago As lFormaPago

Public Function buscar(bean As bpedido) As Collection
Set buscar = logica.getLista(bean)
End Function

Public Function abrirRegistrarPago(bean As bpedido)
'LPedido.getPagos bean
Set bean.lPagos = New Collection
Set frmEntrarPagos.bean = bean
Set frmEntrarPagos.listaPagos = lFormaPago.getFormasPago
frmEntrarPagos.Show 1
End Function
Public Function guardar(bean As bpedido) As Integer
Dim result As Integer
result = LPedido.guardar(bean)
If result = UtilConstantes.OPT_ERROR_ENCONTRADO Then
    utilMensaje.muestraMensaje errorEncontrado
End If
guardar = result
End Function

Public Sub abrirEditarDetalle(bDetalle As bDetalle, bpedido As bpedido)
    Dim error As Integer
    Set frmEntrarDetalle.listaEmpleado = LEmpleado.getLista()
    Set frmEntrarDetalle.listaServicios = LProducto.getLista(New bproducto)
    Set frmEntrarDetalle.bpedido = bpedido
    Set frmEntrarDetalle.bean = bDetalle
    frmEntrarDetalle.sModo = UtilConstantes.MODO_ACTUALIZAR
    frmEntrarDetalle.Show 1
End Sub
Public Sub abrirEditar(bean As bpedido)
logica.getDetalle bean
Set frmEntrarPedido.listaCompania = lCompania.getLista
Set frmEntrarPedido.listaEstado = lEstado.getEstadosPedido
Set frmEntrarPedido.listaUsuario = LUsuario.getLista(New bUsuario)
Set frmEntrarPedido.bean = bean
frmEntrarPedido.Show 1
End Sub


Public Function registrar(ByRef bean As bpedido) As Integer
Dim result As Integer

    result = LPedido.registrar(bean)
    Select Case result
    Case UtilConstantes.OPT_PEDIDO_FALTA_DESCARGAR
        utilMensaje.muestraMensaje faltaDescargar
    Case UtilConstantes.OPT_ERROR_ENCONTRADO
        utilMensaje.muestraMensaje errorEncontrado
    Case UtilConstantes.OPT_DATOS_GUARDADOS
        Unload frmEntrarPagos
    End Select

registrar = result
End Function

Public Sub eliminarDetalle(bean As bDetalle)
If LPedido.eliminarDetalle(bean) = UtilConstantes.OPT_DATOS_ELIMINADOS Then
    LPedido.getDetalle frmEntrarPedido.bean
    Set frmEntrarPedido.bean = frmEntrarPedido.bean
End If
End Sub

Public Sub abrirIngresarDetalle(bpedido As bpedido)
Dim error As Integer
Set frmEntrarDetalle.listaEmpleado = LEmpleado.getLista()
Set frmEntrarDetalle.listaServicios = LProducto.getLista(New bproducto)
Set frmEntrarDetalle.bpedido = bpedido
frmEntrarDetalle.sModo = UtilConstantes.MODO_NUEVO
frmEntrarDetalle.Show 1
End Sub

Public Sub agregarDetalle(bean As bpedido)
    LPedido.agregarDetalle bean
    LPedido.getDetalle frmEntrarPedido.bean
    Set frmEntrarPedido.bean = frmEntrarPedido.bean
End Sub

Public Sub actualizarDetalle(bean As bDetalle, bpedido As bpedido)
    LPedido.actualizarDetalle bpedido
    LPedido.getDetalle frmEntrarPedido.bean
    Set frmEntrarPedido.bean = frmEntrarPedido.bean
End Sub

Public Sub calcularPagos(ByRef bean As bpedido)
LPedido.calcularPagos bean
End Sub

Private Sub Class_Initialize()
    Set logica = New LPedido
    Set lCompania = New lCompania
    Set lEstado = New lEstado
    Set LUsuario = New LUsuario
    Set LEmpleado = New LEmpleado
    Set LProducto = New LProducto
    Set LPedido = New LPedido
    Set lFormaPago = New lFormaPago
End Sub

Private Sub Class_Terminate()
    Set logica = Nothing
    Set lCompania = Nothing
    Set lEstado = Nothing
    Set LUsuario = Nothing
    Set LProducto = Nothing
    Set LPedido = Nothing
    Set lFormaPago = Nothing
End Sub
